#define _CRT_SECURE_NO_WARNINGS 1

#include"list.h"

struct A
{
	int _a1;
	int _a2;

	A(int a1 = 0, int a2 = 0)
		:_a1(a1)
		, _a2(a2)
	{}
};

int main()
{
	zy::list<int> li;
	li.push_back(1);
	li.push_back(2);
	li.push_back(3);
	li.push_back(4);
	zy::PrintList(li);

	zy::list<int> lli(li);
	zy::PrintList(lli);



	//zy::list<A> li;
	//A aa1(1, 1);
	//A aa2(aa1);
	//A aa3 = { 4,4 };
	//li.push_back(aa1);
	//li.push_back(aa2);
	//li.push_back(A(2, 2));
	//li.push_back({ 3,3 });
	//li.push_back(aa3);

	//zy::list<A>::iterator it = li.begin();
	//while (it != li.end())
	//{
	//	//cout << (*it)._a1 << " " << (*it)._a2 << endl;
	//	cout << it->_a1 << " " << it->_a2 << endl;
	//	cout << it.operator->()->_a1 << " " << it.operator->()->_a2 << endl;
	//	it++;
	//}
	//cout << endl;

	/*zy::list<int> li;
	li.push_back(1);
	li.push_back(2);
	li.push_back(3);
	li.push_back(4);

	cout << li.size() << endl;
	cout << li.empty() << endl;
	
	zy::list<int>::iterator it = li.begin();
	while (it != li.end())
	{
		cout << *it << " ";
		it++;
	}
	cout << endl;*/

	return 0;
}